abstract class EnemyAction extends StgObjectAction {
public static final int BOM_POINT = 983040;
public EnemyAction(StgFrame var1) {
super(var1);
}
public abstract boolean action(EnemyIndex var1);
public abstract boolean checkHitPlayerShip(EnemyIndex var1, PlayerShipIndex var2);
public abstract boolean checkHitPlayerShot(EnemyIndex var1, PlayerShotIndex var2);
public abstract boolean checkHitBom(EnemyIndex var1);
protected boolean putItem(EnemyIndex var1) {
if (Fixed.Mul(Fixed.Random(), 393216) >> 16 == 0) {
switch (Fixed.Random() >> 12) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
return this.putYellowItem(var1);
case 8:
case 9:
case 10:
case 11:
return this.putRedItem(var1);
case 12:
case 13:
case 14:
return this.putPowerItem(var1);
case 15:
return this.putBomItem(var1);
}
}
return false;
}
protected boolean putPowerItem(EnemyIndex var1) {
Position var2 = ((StgObjectIndex)var1).getPosition();
Position var3 = new Position(var2.getX(), var2.getY(), var2.getZ());
Item var4 = super.resource.getItem();
PowerItemIndex var5 = new PowerItemIndex(var3, StgData.getSpriteAnimePowerItem(), new Position(1048576, 1048576, 0), 0, new PowerItemNomal(super.resource));
return ((StgObject)var4).add(var5);
}
protected boolean putBomItem(EnemyIndex var1) {
Position var2 = ((StgObjectIndex)var1).getPosition();
Position var3 = new Position(var2.getX(), var2.getY(), var2.getZ());
Item var4 = super.resource.getItem();
BomItemIndex var5 = new BomItemIndex(var3, StgData.getSpriteAnimeBomItem(), new Position(1048576, 1048576, 0), 0, new BomItemNomal(super.resource));
return ((StgObject)var4).add(var5);
}
protected boolean putColorItem(EnemyIndex var1) {
this.putRedItem(var1);
return true;
}
protected boolean putRedItem(EnemyIndex var1) {
Position var2 = ((StgObjectIndex)var1).getPosition();
Position var3 = new Position(var2.getX(), var2.getY(), var2.getZ());
Item var4 = super.resource.getItem();
ColorItemIndex var5 = new ColorItemIndex(var3, StgData.getSpriteAnimeRedItem(), new Position(1048576, 1048576, 0), 0, new RedItemNomal(super.resource), 20, 20);
return ((StgObject)var4).add(var5);
}
protected boolean putBlueItem(EnemyIndex var1) {
Position var2 = ((StgObjectIndex)var1).getPosition();
Position var3 = new Position(var2.getX(), var2.getY(), var2.getZ());
Item var4 = super.resource.getItem();
ColorItemIndex var5 = new ColorItemIndex(var3, StgData.getSpriteAnimeBlueItem(), new Position(1048576, 1048576, 0), 0, new BlueItemNomal(super.resource), 20, 20);
Position var2 = ((StgObjectIndex)var1).getPosition();
Position var3 = new Position(var2.getX(), var2.getY(), var2.getZ());
Item var4 = super.resource.getItem();
ColorItemIndex var5 = new ColorItemIndex(var3, StgData.getSpriteAnimeYellowItem(), new Position(1048576, 1048576, 0), 0, new YellowItemNomal(super.resource), 20, 20);